<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-09-11
 * Time: 下午 5:11
 * 数组操作类
 */
namespace Pub\iarray;
class IArray
{
    /**
     * 二维数组push
     * @param array $_original  原数组
     * @param array $_push  push数组
     * @param $_field  对比字段
     */
    static public function push(Array $_original,Array $_push,$_field = 'id')
    {
        foreach($_original as $_k=>$_v){
            if($_v[$_field] == $_push[$_field]){
                unset($_original[$_k]);
                $_original = array_values($_original);
                break;
            }
        }
        array_unshift($_original,$_push);
        return $_original;
    }

    /**
     * 删除数组中的过期数据
     * @param array $_original  原数组
     */
    static public function shiftPastTime(Array $_original)
    {
        foreach($_original as $_k=>$_v){
            if(TIMESTAMP > $_v['past_time']){
                unset($_original[$_k]);
            }
        }
        return array_values($_original);
    }

    /**
     * 删除二维数组中的指定下标
     * @param array $_original 原数组
     * @param string $_value 对比的值
     * @param string $_field  对比的下标
     * @return array 返回一个新的数组
     */
    static public function shift(Array $_original,$_value,$_field = 'id')
    {
        foreach($_original as $_k=>$_v){
            if($_v[$_field] == $_value){
                unset($_original[$_k]);
                $_original = array_values($_original);
                break;
            }
        }
        return $_original;
    }
}